home *** CD-ROM | disk | FTP | other *** search
- 1 REM WRITTEN AND PUT INTO THE PUBLIC DOMAIN BY P.CLOWER IN 1989
- 2 REM
- 10 PRINT"[147] THIS PROGRAM DRAWS AN M60 TANK"
- 12 PRINT" ON THE COMMODORE 1520 PLOTTER."
- 14 PRINT" SPOOL OUT ABOUT 3 INCHES OF PAPER,"
- 16 PRINT" THEN HIT ANY KEY TO START..."
- 20 GETA$:IFA$=""THEN20
- 50 OPEN1,6,1:OPEN2,6,2:C=0:OPEN4,6
- 60 PRINT#2,C:DIMX(15),Y(15)
- 95 FORCT=0TO12:READX(CT),Y(CT):NEXT:REM BOGIE POSITIONS
- 100 FOR WHEEL=1 TO 7:READ X,Y
- 105 PRINT#1,"M";X,Y:PRINT#1,"I"
- 110 FOR R=31TO 35STEP4:GOSUB1000:NEXT R
- 120 R=20:GOSUB1000
- 130 R=12:GOSUB1000
- 140 R=16:N=10:GOSUB1030
- 144 IF WHEEL=1THENPRINT#1,"M";133,-280:PRINT#1,"D";110,-320
- 146 IF WHEEL>2THEN TC=12:GOSUB1200:GOSUB1205
- 150 NEXT WHEEL
- 155 PRINT#1,"M";115,-828:PRINT#1,"D";142,-875:REM CHASSIS EDGE
- 160 FOR WHEEL=1 TO 3:READX,Y
- 170 PRINT#1,"M";X,Y:PRINT#1,"I"
- 180 FOR R=17TO19STEP 2:GOSUB1000:NEXT R
- 190 R=6:GOSUB1000
- 200 R=11:N=6:GOSUB1030:NEXT WHEEL
- 210 READX,Y:PRINT#1,"M";X,Y:PRINT#1,"I"
- 220 N=11:R0=25:R1=36:GOSUB1070:REM GEAR
- 230 R=17:GOSUB1000
- 240 R=11:N=8:GOSUB1030
- 250 REM TREADS
- 280 PRINT#1,"M",203,-252:PRINT#1,"I":REM TOP TREADS
- 285 FOR TR=1TO6:IFTR=1THENPRINT#1,"R";1,-18:PRINT#1,"I":GOSUB1140:NEXT TR
- 290 PRINT#1,"J";1,-18:PRINT#1,"I":GOSUB1140:NEXT TR
- 300 FOR TR=1TO20:PRINT#1,"I":GOSUB1140:NEXT TR
- 310 FOR TR=1TO8:PRINT#1,"J";-1,-18:PRINT#1,"I":GOSUB1140:NEXT TR
- 330 REM
- 335 REM ANGLED TREADS
- 340 X(1)=-9:X(2)=-9:X(3)=-5:X(4)=5:X(5)=9:X(6)=9:X(7)=-9:Y(7)=34
- 345 Y(1)=34:Y(2)=36:Y(3)=44:Y(4)=44:Y(5)=36:Y(6)=34:REM DEF. FOR ROTATED TREAD
- 350 PRINT#1,"M";168,-272:PRINT#1,"I":REM WHEEL CENTER
- 360 I1=-5*(null)/12:I2=5*(null)/12:MX=0:MY=0:GOSUB1170
- 365 DX=105-168:DY=-355+272:I1=(null)/4:I2=I1:MX=0:MY=0
- 370 FOR TR=1TO6:MX=MX+DX/6:MY=MY+DY/6
- 375 GOSUB1170:NEXT TR
- 390 PRINT#1,"M";105,-355:PRINT#1,"I":REM WHEEL CENTER
- 395 I1=5*(null)/12:I2=5*(null)/12:MX=0:MY=0:GOSUB1170
- 400 PRINT#1,"M";70,-352:REM BTTM TREADS
- 410 FOR TR=0 TO 24:PRINT#1,"I":GOSUB1110:NEXT TR
- 420 PRINT#1,"M";105,-795:PRINT#1,"I":REM WHEEL CENTER
- 430 I1=7*(null)/12:I2=9*(null)/12:MX=0:MY=0:GOSUB1170
- 440 DX=168-105:DY=-880+795:I1=9*(null)/12:I2=I1:MX=0:MY=0
- 450 FOR TR=1TO6:MX=MX+DX/6:MY=MY+DY/6
- 460 GOSUB1170:NEXT TR
- 470 PRINT#1,"M";168,-880:PRINT#1,"I":REM WHEEL CENTER
- 480 I1=11*(null)/12:I2=17*(null)/12:MX=0:MY=0:GOSUB1170:REM TREADS AROUND GEAR
- 490 FORCT=0TO12:READX(CT),Y(CT):NEXT:REM SHOCK ABSORBER POINTS
- 500 PRINT#1,"M";134,-779:PRINT#1,"I":TC=12:GOSUB1200
- 510 PRINT#1,"M";134,-426:PRINT#1,"I":TC=12:GOSUB1200
- 520 PRINT#1,"M";134,-339:PRINT#1,"I":TC=12:GOSUB1200
- 525 REM CHASSIS LINE INSIDE TREADS
- 530 FOR SEG=1TO5:READ Y:PRINT#1,"M";180,Y:READ Y:PRINT#1,"D";180,Y:NEXT SEG
- 534 FOR SEG=1TO2:READX,Y:PRINT#1,"M";X,Y:FOR PT=2TO6:READX,Y
- 536 PRINT#1,"D";X,Y:NEXT PT:NEXT SEG
- 538 REM
- 539 REM
- 540 REM CHASSIS REAR
- 542 REM READX:IFX<>999THEN542
- 550 PRINT#1,"M";200,-900:PRINT#1,"I"
- 555 READX,Y:PRINT#1,"R";X,Y
- 560 FOR PT=1TO12:READX,Y:PRINT#1,"J";X,Y:NEXT PT
- 565 READX,Y:PRINT#1,"R";X,Y:FOR PT=1TO40:READX,Y:PRINT#1,"J";X,Y:NEXT PT
- 570 REM
- 575 REM CHASSIS FRONT
- 580 PRINT#1,"M";200,-300:PRINT#1,"I"
- 585 READX,Y:PRINT#1,"R";X,Y
- 590 FOR PT=1TO35:READX,Y:PRINT#1,"J";X,Y:NEXT PT
- 592 REM
- 594 REM TURRET FRONT
- 600 PRINT#1,"M";300,-400:PRINT#1,"I"
- 605 READX,Y:PRINT#1,"R";X,Y
- 610 FOR PT=1TO67:READX,Y:PRINT#1,"J";X,Y:NEXT PT
- 648 REM
- 649 REM TURRET CENTER
- 650 PRINT#1,"M";300,-600:PRINT#1,"I"
- 655 READX,Y:PRINT#1,"R";X,Y
- 660 FOR PT=1TO76:READX,Y:PRINT#1,"J";X,Y:NEXT PT
- 665 FOR CH=1TO5:READX,Y:PRINT#1,"R";X,Y:FORPT=1TO8:READX,Y
- 670 PRINT#1,"J";X,Y:NEXTPT:NEXTCH
- 678 REM
- 679 REM TURRET REAR
- 680 PRINT#1,"M";300,-700:PRINT#1,"I"
- 685 READX,Y:PRINT#1,"R";X,Y
- 690 FOR PT=1TO115:READX,Y:PRINT#1,"J";X,Y:NEXT PT
- 700 READX,Y:PRINT#1,"R";X,Y:FOR PT=1TO6:READX,Y:PRINT#1,"J";X,Y:NEXT PT
- 710 READX,Y:PRINT#1,"R";X,Y:FOR PT=1TO11:READX,Y:PRINT#1,"J";X,Y:NEXT PT
- 715 READX,Y:PRINT#1,"R";X,Y:FOR PT=1TO12:READX,Y:PRINT#1,"J";X,Y:NEXT PT
- 720 READX,Y:PRINT#1,"R";X,Y:FOR PT=1TO10:READX,Y:PRINT#1,"J";X,Y:NEXT PT
- 730 GOSUB 1220:REM TITLE TEXT
- 990 PRINT#1,"M",0,-980
- 995 CLOSE1:CLOSE2:CLOSE4:END
- 998 REM
- 999 REM DRAW CIRCLE WITH RADIUS R
- 1000 FORI=0TO360 STEP 15
- 1005 X=R*SIN(I*(null)/180):Y=R*COS(I*(null)/180)
- 1010 IF I=0 THEN PRINT#1,"R";X,Y:NEXTI
- 1015 PRINT#1,"J";X,Y:NEXT I
- 1020 RETURN
- 1028 REM
- 1029 REM DRAW CIRCLE OF N DOTS AT R
- 1030 FOR I=20TO360 STEP 360/N
- 1035 X=R*SIN(I*(null)/180):Y=R*COS(I*(null)/180)
- 1040 PRINT#1,"R";X,Y
- 1045 FOR Q=0 TO 1:FOR P=0 TO 1
- 1050 PRINT#1,"J";X+P,Y+Q:NEXTP:NEXTQ
- 1055 PRINT#1,"J";X,Y:NEXT I
- 1060 RETURN
- 1068 REM
- 1069 REM DRAW GEAR FROM R0 TO R1
- 1070 PRINT#1,"R";0,R1
- 1075 FOR I=0TO360 STEP(INT(360/N+.5))
- 1080 X=R0*SIN(I*(null)/180+(null)/N):Y=R0*COS(I*(null)/180+(null)/N)
- 1085 PRINT#1,"J";X,Y
- 1090 X=R1*SIN(I*(null)/180+2*(null)/N):Y=R1*COS(I*(null)/180+2*(null)/N)
- 1095 PRINT#1,"J";X,Y:NEXTI:RETURN
- 1100 REM
- 1105 REM BOTTOM TREAD ROUTINE
- 1110 PRINT#1,"J";-2,0:PRINT#1,"J";-10,-4
- 1115 PRINT#1,"J";-10,-14:PRINT#1,"J";-2,-18
- 1120 PRINT#1,"J";0,-18:PRINT#1,"J";0,0
- 1125 PRINT#1,"J";0,-18:RETURN
- 1130 REM
- 1135 REM TOP TREAD ROUTINE
- 1140 PRINT#1,"J";2,0:PRINT#1,"J";10,-4
- 1145 PRINT#1,"J";10,-14:PRINT#1,"J";2,-18
- 1150 PRINT#1,"J";0,-18:PRINT#1,"J";0,0
- 1155 PRINT#1,"J";0,-18:RETURN
- 1160 REM
- 1165 REM TREADS AROUND WHEELS
- 1170 FOR I=I1 TO I2 STEP(null)/6:FOR PT=1TO7
- 1175 X=X(PT)*COS(I)-Y(PT)*SIN(I)+MX
- 1180 Y=Y(PT)*COS(I)+X(PT)*SIN(I)+MY
- 1185 IFPT=1 THENPRINT#1,"R";X,Y:NEXT PT
- 1190 PRINT#1,"J";X,Y:NEXT PT
- 1195 NEXT I:RETURN
- 1200 PRINT#1,"R";X(0),Y(0):FORCT=1TOTC:PRINT#1,"J";X(CT),Y(CT):NEXT CT:RETURN
- 1205 PRINT#1,"R";15,40:PRINT#1,"I":R=6:GOSUB1000:RETURN:REM DRAW PIVOT
- 1220 OPEN44,6,4:PRINT#44,1:CLOSE44:SP=12:X=200:Y=-550
- 1225 OPEN3,6,3:PRINT#3,2:CLOSE3:REMSIZE
- 1230 A$="M60 PATTON TANK":X=125:Y=150
- 1235 FORN=1TOLEN(A$):FORZ=1TO5
- 1240 PRINT#1,"M",X+Z,Y-Z-2*N*SP
- 1245 PRINT#4,MID$(A$,N,1);:NEXT:NEXT
- 1250 PRINT#2,3:CLOSE2:REMCOLR
- 1255 OPEN3,6,3:PRINT#3,0:CLOSE3:REMSIZE
- 1260 A$="IMAGE PODUCED WITH":X=90:Y=25
- 1265 FORN=1 TO LEN(A$):PRINT#1,"M",X,Y-N*6:PRINT#4,MID$(A$,N,1);:NEXT
- 1270 A$="COMMODORE 64 AND":X=80:Y=19
- 1275 FORN=1 TO LEN(A$):PRINT#1,"M",X,Y-N*6:PRINT#4,MID$(A$,N,1);:NEXT
- 1280 A$="1520 PRINTER/PLOTTER":X=70:Y=30
- 1285 FORN=1 TO LEN(A$):PRINT#1,"M",X,Y-N*6:PRINT#4,MID$(A$,N,1);:NEXT
- 1290 RETURN
- 2000 DATA23,26,29,26,33,30,33,50,29,54,15,54,13,52,13,49,5,44,5,34
- 2005 DATA5,44,-11,50,-21,60:REM TRUCKS
- 2010 DATA 168,-272,105,-355,105,-442,105,-530,105,-620,105,-708,105,-795
- 2020 DATA190,-375,190,-580,190,-720
- 2030 DATA 168,-880
- 2039 REM SHOCK POINTS IN NEXT LINE...
- 2040 DATA0,0,8,4,9,2,41,20,40,22,52,28,51,31,39,25,38,27,6,9,7,7,-1,3,0,0
- 2042 DATA-305,-310,-315,-360,-390,-398,-595,-705,-735,-750:REM 5 SEGMENTS
- 2044 DATA180,-403,180,-428,162,-433,162,-449,180,-454,180,-568
- 2046 DATA180,-755,180,-788,162,-793,162,-809,180,-814,180,-858
- 2049 REM CHASSIS REAR SECTION
- 2050 DATA -40,-24,-38,-30,-30,-40,0,-50,18,-35,28,-10,30,0,30,25,23,25,23,0
- 2055 DATA21,-10,10,-35,-8,-47,23,25,23,260,47,260,50,257,50,130,40,115
- 2056 DATA23,115,35,115
- 2060 DATA35,30,30,25,35,30,40,25,55,22,60,22,65,25,70,45,73,143,70,45,50,-35
- 2065 DATA 17,-35,25,-35,25,-25,30,-25,30,-35,30,-25,35,-25,35,-35,35,-25,40,-25
- 2070 DATA40,-35,40,-25,45,-25,45,-35,45,-25,50,-25,50,-35,52,-42,55,-42,73,18
- 2075 DATA71,21,65,23
- 2077 REM CHASSIS FRONT SECTION
- 2080 DATA-27,70,-25,81,-20,87,0,95,23,33,23,-340,28,-340,28,33
- 2085 DATA5,97,0,95,5,97,13,78,37,88,42,82,40,78,18,61,20,56
- 2090 DATA35,56,35,60,40,60,40,49,37,45,26,40,28,33,28,-20,34,-20
- 2095 DATA34,-25,37,-28,37,-50,34,-56,28,-33,34,-56,40,-83,43,-86,47,-87,47,-340
- 2097 REM DATA FOR TURRET FRONT
- 2100 DATA-53,10,-49,15,-46,33,-12,33,-12,23,30,-40,38,-55,43,-75,38,-55
- 2105 DATA30,-40,33,-34,33,-25,29,-20,-7,29,-12,33,-7,29,29,-20,33,-17
- 2110 DATA33,-11,38,-8,38,-3,32,6,37,10,37,15,33,20,29,21,24,18,32,6,24,18
- 2115 DATA16,30,35,44,31,48,18,39,20,38,14,34,16,30,14,34,0,55,0,88
- 2117 DATA -29,88,0,88,-7,93,-22,93
- 2120 DATA-7,93,-7,185,-22,185,0,185,0,255,-22,255,-7,255,-8,378,-6,380,-6,400
- 2123 DATA -23,400,-23,380,-6,380,-23,380
- 2125 DATA-21,378,-8,378,-21,378,-22,255,-25,255,-25,185,-22,185
- 2130 DATA-22,93,-29,88,-29,55,-46,33
- 2133 REM
- 2134 REM TURRET CENTER
- 2135 DATA42,129,54,125,58,122,60,109,57,106,48,105,43,125,48,105,49,104
- 2140 DATA55,102,58,98,58,92,56,87,50,86,50,100,49,104,50,100,50,74
- 2145 DATA52,67,50,74,43,75,39,73,36,67,38,62,43,59,50,62,52,67,50,62
- 2150 DATA50,-44,53,-44,56,-49,61,-51,67,-49,70,-43,78,-38,88,27,92,22
- 2155 DATA93,15,92,8,89,0,88,-8,88,-23,88,-26,150,-25,88,-23,88,-26,86,-33
- 2160 DATA78,-38,88,27,89,36,107,37,110,39,112,50,110,55,90,60,89,36,90,60
- 2165 DATA90,69,88,87,80,104,80,130,70,130,80,130,79,135,78,195,72,195
- 2170 DATA71,135,70,130,70,104,80,104,70,104,68,102,65,102,60,109,65,102,56,-42
- 2175 DATA61,-51,18,144,18,-55,17,-57,16,-57,15,-55,15,144,16,146,17,146,18,144
- 2180 DATA65,91,67,93,69,91,71,89,70,72,68,70,66,72,65,74,65,91
- 2185 DATA65,65,67,67,68,66,70,63,69,45,68,43,64,43,62,67,65,65
- 2190 DATA63,15,64,16,66,16,68,12,67,0,66,-2,63,-2,61,1,63,15
- 2195 DATA60,-20,62,-18,65,-18,66,-20,63,-37,62,-40,58,-41,57,-39,60,-20
- 2200 REM TURRET REAR
- 2205 DATA50,56,50,35,57,32,62,27,62,18,57,13,50,10,50,-8,61,-11,70,-11
- 2210 DATA72,-13,140,-15,72,-17,70,-19,61,-19,61,-11,61,-19,58,-20,50,-22
- 2215 DATA50,-8,50,-22,50,-27,63,-29,75,-29,150,-31,75,-33,63,-33,63,-29,63,-33
- 2220 DATA49,-35,50,-27,49,-35,48,-40,57,-57,72,-57,75,-60,78,-65,78,-80
- 2225 DATA74,-83,71,-80,71,-73,78,-73,71,-73,71,-65,78,-65,71,-65,68,-64
- 2230 DATA68,-57,68,-64,62,-64,62,-57,62,-64,57,-64,57,-57,57,-64,55,-66,49,-62
- 2235 DATA40,-50,46,-47,48,-40,46,-47,40,-50,40,-15,36,-15,36,-97,40,-97
- 2240 DATA40,-50,40,-73,46,-74,46,-95,46,-74,52,-80,52,-88,46,-95,40,-94,40,-97
- 2245 DATA36,-97,36,-51,20,-53,20,-63,36,-67,36,-73,20,-70,20,-93,36,-94,20,-93
- 2246 DATA20,-24,16,-24,20,-24
- 2250 DATA20,-96,16,-96,16,-24,16,-70,4,-69,0,-73,0,-87,4,-91,16,-93,4,-91
- 2255 DATA0,-87,-13,-87,-17,-85,-19,-80,-19,-67,-14,-67,4,-69,0,-73,0,-83
- 2257 DATA-11,-83,-14,-80,-14,-67,-19,-67,-25,-65,-28,-51,-35,-35,-50,-13
- 2260 DATA50,30,54,28,58,25,58,20,54,17,50,15,50,30
- 2265 DATA40,31,40,10,37,5,36,-2,32,-8,26,-10,-7,-10,-10,-7,-10,32,-7,35
- 2270 DATA36,35,40,31
- 2275 DATA30,23,17,12,30,2,28,0,15,10,2,0,0,2,12,13,0,23,2,25,15,15,28,25,30,23
- 2280 DATA-27,327,-35,300,-40,278,-45,225,-44,180,-41,100
- 2285 DATA-40,60,-28,0,-20,-15,-12,-27,-15,-56
-